package com.dragon.refect.clazz;

import java.util.Arrays;

/**
 * 返回一个包含Method对象的数组，该对象反映此Class对象表示的类或接口的所有公共方法(包括静态方法)，包括由类或接口声明的方法以及从超类和超接口继承的方法。
 * 如果此Class对象表示具有多个具有相同名称和参数类型但返回类型不同的公共方法的类型，则对于每个此类方法，返回的数组均具有Method对象。
 *
 * 如果此Class对象表示具有类初始化方法<clinit>的类型，则返回的数组没有对应的Method对象。
 *
 * 如果此Class对象表示数组类型，则返回的数组对于该数组类型从Object继承的每个公共方法都有一个Method对象。它不包含clone（）的Method对象。
 *
 * 如果此Class对象表示一个接口，则返回的数组不包含Object的任何隐式声明的方法。因此，如果在此接口或其任何超级接口中未明确声明任何方法，则返回的数组的长度为0。（请注意，表示类的Class对象始终具有从Object
 * 继承的公共方法。）
 *
 * 如果此Class对象表示原始类型或void，则返回的数组长度为0。
 *
 * 在此Class对象表示的类或接口的超接口中声明的静态方法不视为该类或接口的成员。
 *
 * 返回数组中的元素未排序，并且没有任何特定顺序。
 * @author dragon
 * @since 2019/12/1
 */
public class ClassGetMethodTest {

    public static void main(String[] args) {
        System.out.println(Arrays.toString(Zi.class.getMethods()));
    }
}
